package cn.hahah.module.blog.controller.admin.article.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 博客系统文章 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ArticleRespVO {

    @Schema(description = "文章编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "20411")
    @ExcelProperty("文章编号")
    private Long id;

    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "17926")
    @ExcelProperty("用户编号")
    private Long userId;

    @Schema(description = "类型编号", example = "2759")
    @ExcelProperty("类型编号")
    private Long typeId;

    @Schema(description = "文章标题", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("文章标题")
    private String title;

    @Schema(description = "文章图片", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("文章图片")
    private String picture;

    @Schema(description = "文章正文", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("文章正文")
    private String content;

    @Schema(description = "文章描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对")
    @ExcelProperty("文章描述")
    private String description;

    @Schema(description = "浏览次数", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("浏览次数")
    private Integer views;

    @Schema(description = "是否公开", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("是否公开")
    private Boolean isPublished;

    @Schema(description = "是否推荐", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("是否推荐")
    private Boolean isRecommend;

    @Schema(description = "是否赞赏", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("是否赞赏")
    private Boolean isAppreciation;

    @Schema(description = "可否评论", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("可否评论")
    private Boolean isCommentEnabled;

    @Schema(description = "是否置顶", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("是否置顶")
    private Boolean isTop;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    private String userName = "找不到用户名";

    private String typeName = "未设置类型";

}